// JavaScript Document
var ws;
var usuario=null;
$(document).ready(function(e){
    var url="ws://localhost:8080/ServidorCorreoSockets/index";
                                
    ws = new WebSocket(url);
    ws.onopen =function(event) {
        
    };
    ws.onerror = function(event){
        alert(event.data);
    };
    ws.onmessage = function(event){
        
        if(event.data=="0")
        {
            window.location.href="index.jsp";
        }
        else if(event.data=="1")
        {
                
            window.location.href="home.jsp?nick="+usuario;
        }
        else if(event.data=="Logueado")
        {
            window.location.href="home.jsp?nick="+$('#txtDireccion').attr("value");
        }
        else if(event.data=="noLogueado")
        {
            $("#divMensaje").html("Nombre de usuario o Password Invalidos");
        }
        else
        {
            alert(event.data);
        }
    }
                                 
    
    $("#btnIniciar").click(function(e){
        
        var dir= $('#txtDireccion').attr("value");
        var pass= $('#txtPassword').attr("value");
        if( dir=="" || pass=="")
        {
            alert("Asegurese de llenar Todos Los Campos");                   
        }
        else
        {
            var inicio = new Object();
            inicio.Nick=dir;
            inicio.Password=pass;

            inicio.toJSON = function(key)
            {
                var replacement = new Object();
                for (var val in this)
                {
                    replacement[val] = this[val]
                }
                return replacement;
            };

            var jsonText = JSON.stringify(inicio);
           
            enviaMensaje(1+"/"+jsonText);
        }
    });
    $("#btnCrearCuenta").click(function(e){
        window.location.href="crearCuenta.jsp";
    });
    $("#btnCrear").click(function(e){
        var dir= $('#txtDireccion').attr("value");
        var pass= $('#txtPassword').attr("value");
        var pass2=$('#txtPassword2').attr("value");
        var nombre=$('#txtNombre').attr("value");
        var apellido=$('#txtApellido').attr("value");
        var direccion=$('#txtDir').attr("value");
        var telefono=$('#txtTelefono').attr("value");
        if( dir=="" || pass=="" || pass2=="" ||nombre=="" || apellido=="")
        {
            alert("Los datos con * son obligatorios");                   
        }
        else
        {
            if(pass!=pass2)
                alert("Los passwords deben coincidir");
            else{
                var cuenta = new Object();
                var f = new Date();
                cuenta.Nick=dir;
                cuenta.Password=pass;
                cuenta.Nombre=nombre
                cuenta.Apellido=apellido;
                cuenta.Direccion=direccion;
                cuenta.Telefono=telefono;
                cuenta.fechaCreacion=f.getFullYear() + "-" + (f.getMonth() +1) + "-" + f.getDate();
                cuenta.toJSON = function(key)
                {
                    var replacement = new Object();
                    for (var val in this)
                    {    
                        replacement[val] = this[val]
                    }
                    return replacement;
                };
                var jsonText = JSON.stringify(cuenta);
                enviaMensaje(2+"/"+jsonText);
            }
            
        }
    });
    $("#btnCancelar").click(function(e){
        window.location.href="index.jsp";
    });
    $("#btnEnviar").click(function(e){
        var correo = new Object();
        var f = new Date();
        correo.nick=$("#txtNick").attr("value");
        usuario=correo.nick;
        correo.para=$("#txtPara").attr("value");
        correo.asunto=$("#txtAsunto").attr("value");
        correo.mensaje=CKEDITOR.instances['txtMensaje'].getData();
        correo.fecha=f.getFullYear() + "-" + (f.getMonth() +1) + "-" + f.getDate();
        correo.hora=f.getHours()+"h"+f.getMinutes();
        if(document.getElementById("Adjuntar").files.length==0)
            correo.adjuntos="N";
        else
            correo.adjuntos="S";
        correo.toJSON = function(key)
        {
            var replacement = new Object();
            for (var val in this)
            {    
                replacement[val] = this[val]
            }
            return replacement;
        };
        var jsonText = JSON.stringify(correo);
        enviaMensaje(3+"/"+jsonText);
        
        if(document.getElementById("Adjuntar").files.length>0)
        {
            var i=0;
            while( document.getElementById("Adjuntar").files[i].name!=null){
                var nombreArchivo = document.getElementById("Adjuntar").files[i].name;
                var archivo = new Object();
                archivo.nombre=nombreArchivo;
                archivo.idArchivo=(i+1);
                archivo.toJSON = function(key)
                {
                    var replacement = new Object();
                    for (var val in this)
                    {    
                        replacement[val] = this[val]
                    }
                    return replacement;
                };
                var jsonText = JSON.stringify(archivo);
                enviaMensaje(5+"/"+jsonText);
                var m=document.getElementById('Adjuntar').files[i];
                ws.send(m);
                i++;
            }
                
        }
        
    });
    
});
function enviaMensaje(mensaje)
{
    ws.send(mensaje);
}

function responder(nick, para, asunto)
{
    window.location.href="redactar.jsp?nick="+nick+"&para="+para+"&asunto="+asunto;
}

function eliminar(idCorreo,nick)
{
    var correo = new Object();
    correo.nick=nick
    usuario=correo.nick;
    correo.idCorreo=idCorreo
    correo.toJSON = function(key)
    {
        var replacement = new Object();
        for (var val in this)
        {    
            replacement[val] = this[val]
        }
        return replacement;
    };
    var jsonText = JSON.stringify(correo);
    enviaMensaje(4+"/"+jsonText);
}